home *** CD-ROM | disk | FTP | other *** search
/ Shareware Grab Bag / Shareware Grab Bag.iso / 090 / cmln0385.arc / MATMAN.DEF < prev    next >
Text File  |  1986-02-27  |  2KB  |  62 lines

  1.  
  2.  
  3.       Listing 1.  The definition part of module MatMan.
  4.  
  5.  
  6. DEFINITION MODULE MatMan;
  7.  
  8. (* Implementation module for matrix management *)
  9.  
  10. EXPORT QUALIFIED HIROW, Loc, Loc0, LOC, LOC0, SwapColumn, SwapRow,
  11.                  Transpose, InsertColumn, InsertRow, ResizeMat, 
  12.                  DeleteRow, DeleteColumn;
  13.  
  14. VAR HIROW : CARDINAL;
  15.  
  16. PROCEDURE Loc( Row, Col : CARDINAL): CARDINAL;
  17. (* Procedure to locate the (i,j) matrix element, with a default *)
  18. (* HIROW number of rows.                    *)
  19.  
  20. PROCEDURE Loc0( Row, Col : CARDINAL): CARDINAL;
  21. (* Procedure to locate the (i,j) matrix element, with a default *)
  22. (* HIROW number of rows. Used in subroutines with open arrays.  *)
  23. èPROCEDURE LOC( Row, Col, MaxRow : CARDINAL): CARDINAL;
  24. (* Procedure to locate the (i,j) matrix element, with an assigned *)
  25. (* MaxRow number of rows.                      *)
  26.  
  27. PROCEDURE LOC0( Row, Col, MaxRow : CARDINAL): CARDINAL;
  28. (* Procedure to locate the (i,j) matrix element, with an assigned *)
  29. (* MaxRow number of rows. Used in subroutines with open arrays.   *)
  30.  
  31. PROCEDURE SwapColumn(VAR X : ARRAY OF REAL; Col1, Col2, HiRow : CARDINAL);
  32. (* Procedure to swap two columns, Col1 and Col2 *)
  33.  
  34. PROCEDURE SwapRow(VAR X : ARRAY OF REAL; Row1, Row2, HiRow, HiCol : CARDINAL);
  35. (* Procedure to swap two rows, Row1 and Row2 *)
  36.  
  37. PROCEDURE Transpose(VAR X, Y : ARRAY OF REAL; HiRow, HiCol : CARDINAL);
  38. (* Procedure to transpose matrix  X into matrix Y *)
  39.  
  40. PROCEDURE InsertColumn(VAR X, Y : ARRAY OF REAL; NewCol : CARDINAL;
  41.                        VAR HiRow, HiCol : CARDINAL);
  42. (* Procedure to insert a new column Y at colum NewCol in matrix X *)
  43.  
  44. PROCEDURE InsertRow(VAR X, Y : ARRAY OF REAL; NewRow : CARDINAL;
  45.                     VAR HiRow, HiCol : CARDINAL);
  46. (* Procedure to insert a new row Y at row NewRow in matrix X *)
  47.  
  48. PROCEDURE ResizeMat(VAR X : ARRAY OF REAL; 
  49.                     OldHiRow, NewHiRow, HiCol: CARDINAL);
  50. (* Procedure to resize matrix X by reassigning the number of rows *)
  51.  
  52. PROCEDURE DeleteColumn(VAR X : ARRAY OF REAL; Col, HiRow : CARDINAL;
  53.                        VAR HiCol : CARDINAL);
  54. (* Procedure to remove column Col from matrix X *)
  55.  
  56. PROCEDURE DeleteRow(VAR X : ARRAY OF REAL; Row, HiCol : CARDINAL;
  57.                        VAR HiRow : CARDINAL);
  58. (* Procedure to remove row 'Row' from matrix X *)
  59.  
  60. END MatMan.
  61.  
  62.